/**
 *
 *
 */
package Control;

import java.util.HashMap;

/**
 * 全局设置类 保存了来自Web.xml全局参数 
 * 由ServletListener负责提供参数，并间接实例化
 * 该类不能被其他类实例化，
 * 只能通过getConfig的方法进行引用
 *
 * @author kocio
 */
public final class CConfig {

    private HashMap<String, String> Properties = null;
    private static CConfig config = null;

    /**
     *构造函数
     */
    private CConfig() {
        Properties = new HashMap();
    }

    /**
     *获取Config设置
     * @return Config
     */
    public static CConfig getConfig() {
        init();
        return config;
    }

    /**
     *Config初始化
     */
    private static void init() {
        if (config == null) {
            config = new CConfig();
        }
    }

    /**
     *添加设置
     * @param Key 属性名
     * @param Value 属性值
     */
    public final void add(String Key, String Value) {
        Properties.put(Key, Value);
    }

    /**
     *
     * @return
     */
    public final HashMap getProperties() {
        return Properties;
    }

    /**
     *
     * @param Key
     * @param Value
     */
    public final void UpdateProperties(String Key, String Value) {
        if (Properties.containsKey(Key)) {
            Properties.remove(Key);
            Properties.put(Key, Value);
        }

    }
}
